package com.maywide.jdp.system.bean;

import java.util.List;
import java.util.Map;

import com.maywide.jdp.core.bean.LockedBean;
import com.maywide.jdp.system.entities.Rule;

/**
 * 规则管理Bean接口
 * 
 * @author luoyang
 * @version 1.0
 * @since JDK1.6
 */
public interface RuleBean extends LockedBean {

	/**
	 * @param id
	 *            移动的节点ID
	 * @param targetID
	 *            移动到的模块节点ID
	 */
	public void move(String id, String targetID)
			throws Exception;

	/**
	 * @param ids
	 *            移动的节点ID列表
	 * @param targetID
	 *            移动到的模块节点ID
	 */
	public void move(List<String> ids, String targetID)
			throws Exception;

	/**
	 * 根据查询模板查询
	 * 
	 * @param conditions
	 *            查询条件
	 * @param parameters
	 *            查询参数
	 * @return 查询结果
	 */
	public List<Rule> list(String sort, String dir, Map<String, Object> conditions,
			Map<String, Object> parameters)
			throws Exception;

	/**
	 * 获取所有可用的规则对象
	 * @return 规则列表
	 */
	public List<Rule> findAllActive() throws Exception;
}
